|
ARTeam Tutorial Visit:
http://cracking.accessroot.com
|
http://forum.accessroot.com mIRC v.
6.16 |
| Information | Cracking and CRC defeating |
| Target | mIRC v. 6.16 |
| Available | http://www.mirc.com/get.html |
| Tools | OllyDbg 1.10 |
| Protection | Trial 30 days |
| Level | Beginner |
| Category | Cracking |
| Author(s) | ThunderPwr October 2004 |
| Requirements | Windows 2K, XP, IE 5.5 and above for best viewing |
|
1. Introduction
|
|
|
| 2.
What we can do |
|
Our purpose is make full registration and defeat CRC integrity check. |
|
STEP
1 – Executable file analysis after installation
|
|
Well,
program isn't packed anyway, next step is searching (if there exist)
about integrity check like CRC or similar, to do this you can use
the crypto analyser (KANAL v2.7) feature, we have:
There
is some crypto signature builded to validate the file integrity
check (antipatching), no problem, in the following section we defeat
it in a very fast way. |
|
STEP 2 – Debugging and cracking
|
|
Press
Continue and then close the program. Load
the executable into OllyDbg:
Press
F9 in order to run the executable, there are the nag screen of figure
3, press Continue, there are another window
about user Options, fill it with your data, Full Name
can be set equal to your Nickname, place
your e-mail adress and press OK button:
Now it's time to take a look on the registration page, go to the Help menu and then select Register...:
a
nice window arise, write your name and fake registration code:
press
OK to continue, a new message box arise
to infor about wrong serial:
now
go to the code window in OllyDbg and press F12 in order to stop program
execution, press ALT+K to show the call stack and see where this message
box was called into the program:
the
first call before the DialogBoxParamA is the code section where this
message is called, press CTRL+G and write 004675D0 to jump in this
address (you can also simple double click on the mirc.004675D0 address):
place
a breakpoint on 004675D0 (press F2 on it) and run the program, write
your fake registration and press OK, OllyDbg
stop on this breakpoint, look on the register window, EAX is pointing
to the error message string then we've to trace before this call.
To keep the code which have called this routine look at figure 9 into
the column Called from, you've mirc.004B7CEE
(the mirc string before the address means which this address reside
into the main executable module and not in some DLL or other executable
module). If you scroll up into the code can place another breakpoint
on 004B7C00, try again the registration and look if there are the
error message into the register window. When you have done it OllyDbg
stop in 004B7C00, nothing is into register window, but this message
is into the stack window, then serial check is made before this point.
there
are some interesting point, on 004C7BD2 there is a pointer to the
entered serial code, next instruction point to the user name, after
this there are a call to check the code and then a TEST EAX,EAX instruction.
to
force registration you've to patch the executable, to do this there
are several ways, you can place a INC EAX instruction followed by
a NOP or put only a single MOV AL,1 instruction, i prefer the last
one because some program is able to check about NOP instruction:
make again the registration with a fake registration code and press OK, now all code is accepted:
press
OK and you're confirmed about registration:
fix the executable, right click and then Copy to Executable
-> Selection then again right click into
the new window and choose Save file option
to patch the file.
go to OllyDbg Debug menu and select Open
or clear run trace option, select the Trace
over option (or simply press CTRL+F12) and wait until
the program terminate:
now
is time to load in OllyDbg the original executable, make same procedure
to trace until you reach the main program window, at this point you
can stop program execution (press F12). about
the original executable you've: now
you can put a breakpoint in 005748A5 and make again the trace analysis
and comparison between patched and original executable from 004DF160
address. After this you have also to try again the trace process starting
from 004DAFF0, well if you check this code, near the RET instruction
on 004DB0E6 address, there is a section of code which is not executed
into the patched version, to force this you have to place some nop
instruction, look at figure 18:
fix the patched executable and run it, this work right, make your
fake registration and all work is done, when you start again mIRC
nothing nag screen about residual time appear then your fresh mIRC
copy is already registered! |
|
3. Conclusion
|
|
|
|
4. Greetingz
|
|
[MAIN TEAM]
|